<?php
namespace App\Api\Services;
class TimiLive
{
      public function CmcLiveStudio()
      {
          if (!function_exists('create_live')) {

              function create_live($user_id = 0) {

                  $live_bizid =config('live.live_bizid');//直播bizid
                  $live_sdkapp_id =config("live.live_sdkapp_id");//直播sdkapp_id
                  $push_domain = config("live.push_domain");//推流域名
                  $play_domain =config("live.play_domain");//播放域名
                  $live_key =config("live.live_key");//直播key
                  $live_expiry_time =config("live.live_expiry_time");//直播过期时间


                  $livecode = $live_sdkapp_id.'_'.$user_id;
                  //默认名// 推荐用随机数字或者用户 ID
                  if ($live_key && $live_expiry_time) {

                      $time = time()+$live_expiry_time;
                      //过期时间
                      //strtoupper把所有字符转换为大写 base_convert把进制数转换:
                      $txTime = strtoupper(base_convert($time,10,16));
                      //加密
                      $txSecret = md5($live_key.$livecode.$txTime);
                      //StreamName（流 ID）：推荐用随机数字或者用户 ID。
                      //bizid 直播bizid
                      //txTime（地址有效期）：何时该 URL 会过期，格式支持十六进制的 UNIX 时间戳。
                      //txSecret（防盗链签名）：防止攻击者伪造您的后台生成推流 URL
                      $ext_str = '?'.http_build_query(array(
                              "bizid" => $live_bizid,
                              "txSecret" => $txSecret,
                              "txTime" => $txTime
                          ));
                  }

                  $url = [
                      "push_url" => "rtmp://".$push_domain."/live/".$livecode.(isset($ext_str) ? $ext_str : ""),
                      "rtmp_play_url" => "rtmp://".$play_domain."/live/".$livecode,
                      "flv_play_url" => "http://".$play_domain."/live/$livecode.flv",
                      "m3u8_play_url" => "http://".$play_domain."/live/$livecode.m3u8",
                  ];
                  return $url;
              }
          }
      }
}